As well known, software vendors create software for use by consumers to carry out many different tasks. In many circumstances, vendors require that a user or other entity pay a fee to use respective its software and/or software features.
Software vendors typically grant licenses to use copies of software, but actual ownership of the software remains with the software vendor. As mentioned, an end-user sometimes must purchase a license in order to use respective software.
As an example, a consumer can purchase a physical disk on which software is stored. The purchased software can include a sticker or label printed on the outside of the software, but inside the package. The label includes a license code. The license code often includes a unique code of symbols such as numbers, digits, text, hyphens, etc.
Typically, when the purchased software is being installed or used for the first time on a computer system, the user is prompted to type in the license code on the label. This code is then decoded by the software back to its base serial number.
When inputting the code, if the user mistypes a single character in what is sometimes a very long code, the software will prevent installation or use of the software until the user types in the correct code printed on the label. When a code is entered correctly, a respective user is then enabled to install and subsequently execute the software.
Conventional methods have evolved to prevent multiple parties from downloading and using the same set of purchased software. For example, the expansion of computer networking affords additional levels of software protection such as network registration and online registration.
In general, software that employs conventional network registration as an added security level keeps a copy of the actual serial number being used in the license code. When active, the number of the serial number is broadcasted on a channel of the local network. If the software has been installed on another computer on that same network, using the same license code, when the second copy will detect that the serial number is in use on the network and typically will refuse to run. This prevents a small business from buying one copy of expensive software and installing it on several of the computers at their location, provided they are networked.
The conventional technique of on-line registration is similar to use of the activation codes as discussed above, but adds another level of security. For example, most computers are connected to the internet. The connection allows the software manufacturers to add an additional check to their system during the installation process. When the user enters a valid license code, the software is not immediately installed on the user's machine. Instead, an installer program associated with the software uses an internet connection of the computer to contact the software vendor's a server. The installer transmits the license code to the server, and then waits for the server for a communication indicating whether the installer can install the software application. The vendor's server maintains a database of all the serial numbers that have been used to install their software. If a single serial number is used on a number of machines (such as a typical limit of several different computers) then the server tells the software that it may be a copy and to abort the installation. The user is usually presented with a dialog instructing them to contact the manufacturer to discuss the reason for the installation failure.
Conventional techniques for managing use of licenses suffer from a number of deficiencies. For example, conventional techniques enable a respective entity to purchase and obtain a license in order to use software as discussed above. However, software has become quite complex. In many circumstances, obtaining a license for a first vendor software may enable use of software from one or more other vendors. That is, downloading of software from a first vendor can include downloading and/or enabling use of protected content such as plug-ins provided by third-party vendors. Thus, providing the license to use the first vendor's software may enable an entity to use not only the software developed by the first vendor but other vendor software as well. It is quite possible that the entity obtaining the software license as discussed above may subsequently purchase additional software from the first software vendor or other software vendor. The subsequently purchased software may include software that at least partially overlaps with respect to the original software. That is, newly downloaded software may use portions of the same protected software as previously downloaded software. However, conventional installer models do not take into account or may not be aware of the overlap.